package com.yss.proxy.dynamic;

import com.yss.proxy.Image;
import com.yss.proxy.RealImage;

import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Proxy;

/**
 * version v1.0
 * 项目:WorkPlace
 * 包名:com.yss.proxy.dynamic
 * 功能描述:设计模式-动态代理：Client类调用动态代理调用真实对象的方法
 * 作者:杨松松
 * 创建时间:2019/1/23 23:22
 */
public class Client {
    public static void main(String[] args) {
        Image realImage = new RealImage("fileName");
        InvocationHandler handler = new DynamicProxy(realImage);

        Image image = (Image) Proxy.newProxyInstance(handler.getClass().getClassLoader(),
                realImage.getClass().getInterfaces(), handler);
        image.display();
    }
}
